home *** CD-ROM | disk | FTP | other *** search
/ Softdisk G-S 100 / SGDS 100.2mg / SDGS.100 / SDB100 / B / MAP.DEMO (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1989-12-12  |  4.3 KB  |  124 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 10  REM <CTRL-0x0a>MAP DEMO BY TOM HALL
  2. 20  PRINT  CHR$(21);
  3. 30  PRINT  CHR$(4)"PREFIX": INPUT PF$
  4. 31  PRINT  CHR$(4)"-MAP"
  5. 35  TEXT : HOME 
  6. 40  PRINT "+--------------------------------------+| MAP DEMO BY TOM HALL (C)1990 SOFTDISK|+--------------------------------------+"
  7. 45  POKE 34,3
  8. 50  CALL 54915: POKE 34,3: POKE 35,24: HOME : ONERR  GOTO 63000
  9. 55  VTAB 10: HTAB 12: PRINT "1. INSTRUCTIONS": VTAB 12: HTAB 12: PRINT "2. MAP DEMO": VTAB 14: HTAB 12: PRINT "3. CREDITS": VTAB 16: HTAB 12: PRINT "4. QUIT"
  10. 60  VTAB 22: HTAB 1: PRINT "+--------------------------------------+|     PLEASE PRESS 1, 2, 3, OR 4.      |+--------------------------------------";: POKE 2039, ASC("+") +128: VTAB 12: HTAB 1
  11. 70  POKE  -16368,0
  12. 80  WAIT  -16384,128: GET K$
  13. 90  IF K$ =  CHR$(27)  THEN 1000
  14. 95  IF K$ <"1"  OR K$ >"4"  THEN 120
  15. 100  ON  ASC(K$) -48 GOTO 2000,10000,62000,1000
  16. 120 QQ =  PEEK( -16336) - PEEK( -16336) + PEEK( -16336) - PEEK( -16336): GOTO 70
  17. 1000  TEXT : HOME : PRINT  CHR$(4)"BYE": END 
  18. 2000 MX = 15
  19. 2010  RESTORE 
  20. 2020  HOME : FOR I = 1 TO MX: READ A$: IF A$ = "HEY!"  THEN 2050
  21. 2025  VTAB I +4: PRINT A$
  22. 2030  NEXT 
  23. 2050  IF I <MX +1  THEN 2800
  24. 2060  VTAB 22: HTAB 1: PRINT "+--------------------------------------+|     PLEASE PRESS A KEY FOR MORE.     |+--------------------------------------";: POKE 2039, ASC("+") +128: VTAB 12: HTAB 1
  25. 2070  POKE  -16368,0
  26. 2080  WAIT  -16384,128: GET K$
  27. 2090  IF K$ =  CHR$(27)  THEN 50
  28. 2100  GOTO 2020
  29. 2800  VTAB 22: HTAB 1: PRINT "+--------------------------------------+|     PLEASE PRESS A KEY FOR MENU.     |+--------------------------------------";: POKE 2039, ASC("+") +128: VTAB 12: HTAB 1
  30. 2810  POKE  -16368,0
  31. 2820  WAIT  -16384,128: GET K$
  32. 2830  GOTO 50
  33. 10000  HOME : VTAB 12: HTAB 10: PRINT "READING DRIVES..."
  34. 10043  ONERR  GOTO 60000
  35. 10045  PRINT  CHR$(4)"PREFIX": INPUT PF$
  36. 10047 DC = 0
  37. 10048  INVERSE 
  38. 10049 CP$ = ""
  39. 10050 S = 7:D = 2
  40. 10055  ONERR  GOTO 10090
  41. 10057  IF S = 3  AND D = 2  THEN 10090
  42. 10060  PRINT  CHR$(4)"PREFIX,S"S",D"D
  43. 10070  PRINT  CHR$(4)"PREFIX"
  44. 10080  INPUT K$
  45. 10082  IF K$ = "/RAM/"  THEN 10090
  46. 10085 DC = DC +1:S%(DC) = S:D%(DC) = D:SB$(DC) = "[] " +K$
  47. 10090 D = D -1: IF D = 0  THEN D = 2:S = S -1
  48. 10092  IF S >0  THEN 10057
  49. 10095  NORMAL 
  50. 10100  POKE 216,0: HOME 
  51. 10120  GOSUB 10500: GOTO 50
  52. 10300  POKE 34,3: POKE 35,24: HOME 
  53. 10310  VTAB 22: HTAB 1: PRINT "+--------------------------------------+|              MAPPING...              |+--------------------------------------";: POKE 2039, ASC("+") +128: VTAB 12: HTAB 1
  54. 10315  VTAB 23: HTAB 5: PRINT  SPC( 30);: VTAB 23: HTAB 5: PRINT "MAPPING "CP$"..."
  55. 10320  VTAB 12: HTAB 5: PRINT "S)CREEN OR P)RINTER?"
  56. 10321  POKE  -16368,0
  57. 10322  WAIT  -16384,128: GET K$
  58. 10323  IF K$ =  CHR$(27)  THEN 50
  59. 10324  IF K$ > = "a"  THEN K$ =  CHR$( ASC(K$) -32)
  60. 10325  POKE 35,21
  61. 10327  HOME : VTAB 12: HTAB 5: PRINT "MAPPING "CP$"..."
  62. 10330  IF K$ = "P"  THEN  VTAB 12: PRINT  CHR$(4)"PR#1"
  63. 10340  IF K$ < >"S"  AND K$ < >"P"  THEN 10300
  64. 10350  VTAB 12: HTAB 1: PRINT "MAP (C) 1990 SOFTDISK INC.": PRINT "--------------------------"
  65. 10370  VTAB 18: HTAB 1
  66. 10380  PRINT  CHR$(4)"MAP,S"SL",D"DR
  67. 10385  IF K$ = "P"  THEN  PRINT  CHR$(12): PRINT  CHR$(4)"PR#0"
  68. 10387  POKE 35,24
  69. 10390  VTAB 22: HTAB 1: PRINT "+--------------------------------------+|         PLEASE PRESS A KEY.          |+--------------------------------------";: POKE 2039, ASC("+") +128: VTAB 12: HTAB 1
  70. 10400  POKE  -16368,0
  71. 10410  WAIT  -16384,128: GET K$
  72. 10420  GOTO 50
  73. 10500  HOME 
  74. 10505  IF DC = 0  THEN  GOTO 11000
  75. 10510  VTAB 23: HTAB 2: PRINT "ARROWS MOVE. RETURN SELECTS VOLUME.": HTAB 5: PRINT "(ESC GOES BACK TO MENU.)";
  76. 10520  POKE  -16368,0: POKE 35,22
  77. 10530  VTAB 17: HTAB 1: PRINT "PREFIX:"CP$;
  78. 10540 TP = 0:BT = 7
  79. 10550 CS = 1
  80. 10560  IF BT >DC -1  THEN BT = DC -1
  81. 10570  REM  USED TO HOME MENU WINDOW
  82. 10580  FOR I = 1 TO BT -TP +1: VTAB I +7: HTAB 3
  83. 10590  PRINT " "SB$(I +TP)" "
  84. 10600  NEXT I
  85. 10610  VTAB 7: HTAB 3: PRINT "-------------------": VTAB 16: HTAB 3: PRINT "-------------------"
  86. 10620  IF TP >0  THEN  VTAB 7: HTAB 3: PRINT "^-------MORE------^"
  87. 10630  IF BT <DC -1  THEN  VTAB 16: HTAB 3: PRINT "V-------MORE------V"
  88. 10640  REM  Missing line
  89. 10650  VTAB CS +7: HTAB 3: INVERSE : PRINT " "SB$(CS +TP)" "
  90. 10660  GOSUB 20000: NORMAL : VTAB CS +7: HTAB 3: PRINT " "SB$(CS +TP)" "
  91. 10670  IF (K$ =  CHR$(11)  OR K$ =  CHR$(8))  AND CS = 1  AND TP >0  THEN TP = TP -8:BT = TP +7:CS = 8: GOTO 10570
  92. 10680  IF (K$ =  CHR$(11)  OR K$ =  CHR$(8))  THEN  IF CS >1  THEN CS = CS -1: GOTO 10640
  93. 10690  IF (K$ =  CHR$(10)  OR K$ =  CHR$(21))  AND CS = BT -TP +1  AND BT <DC -1  THEN TP = TP +8:BT = BT +8: GOTO 10550
  94. 10700  IF (K$ =  CHR$(10)  OR K$ =  CHR$(21))  THEN  IF CS <BT -TP +1  THEN CS = CS +1: GOTO 10640
  95. 10710  IF K$ =  CHR$(27)  THEN 50
  96. 10720  IF K$ =  CHR$(13)  THEN SL = S%(CS +TP):DR = D%(CS +TP):CP$ =  MID$ (SB$(CS +TP),4): GOTO 10300
  97. 10740 QQ =  PEEK( -16336) - PEEK( -16336) + PEEK( -16336) - PEEK( -16336): GOTO 10640
  98. 10750  REM <CTRL-0x0a>SUBDIR ERRS
  99. 10760  IF  PEEK(222) = 5  THEN  POKE 216,0: GOTO 90
  100. 10770  PRINT "ERROR:" PEEK(222)
  101. 10780  GOTO 90
  102. 10790  REM <CTRL-0x0a>ADD DIR TO PATH
  103. 11500  IF  PEEK(222) = 6  THEN  POKE 216,0:DL = 0: GOTO 10000
  104. 11510  GOTO 60000
  105. 11960  ON WHERE GOTO 3000,4000,6000,7000
  106. 11970  GOTO 90
  107. 11980  ONERR  GOTO 60000
  108. 11981  PRINT  CHR$(4)"PREFIX"PF$: GOTO 90
  109. 19990  REM <CTRL-0x0a>GET A KEY
  110. 20000  POKE  -16368,0: WAIT  -16384,128: GET K$
  111. 20010  IF K$ > = "a"  AND K$ < = "z"  THEN K$ =  CHR$( ASC(K$) -32)
  112. 20020  RETURN 
  113. 30000  DATA "MAP IS A COMMAND THAT CAN BE ADDED TO","PRODOS WHEN YOU ARE IN BASIC.","","TO USE IT, JUST:","","    -MAP","","AND IT WILL BE INSTALLED.","","FROM THEN ON, TYPE:","","   MAP    OR    MAP,S6,D1"
  114. 30001  DATA ""
  115. 30005  DATA  "(S6 MEANS SLOT 6, D1 IS DRIVE 1.)",""
  116. 30010  DATA  "THEN YOU WILL SEE A MAP OF USED BLOCKS","ON THAT VOLUME.","","IF YOU DON'T TELL MAP WHAT","SLOT AND DRIVE YOU WANT, IT WILL","READ THE LAST DRIVE USED.","","THAT'S ALL THERE IS TO IT!","HEY!"
  117. 61999  REM <CTRL-0x0a>CREDITS
  118. 62000  HOME : VTAB 10: HTAB 5: PRINT "MAP BY BILL TUDOR": HTAB 5: PRINT "DEMO BY TOM HALL": PRINT : HTAB 5: PRINT "MAP (C) 1990 SOFTDISK INC.": PRINT "    ALL RIGHTS RESERVED.": PRINT "    PUBLISHED ON SOFTDISK #100."
  119. 62010  PRINT "    CHANGING THIS NOTICE IS ILLEGAL."
  120. 62020  VTAB 22: HTAB 1: PRINT "+--------------------------------------+|         PLEASE PRESS A KEY.          |+--------------------------------------";: POKE 2039, ASC("+") +128: VTAB 12: HTAB 1
  121. 62030  POKE  -16368,0
  122. 62040  WAIT  -16384,128: GET K$
  123. 62050  GOTO 50
  124. 63000  RUN 50